package Controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import Entity.Experiment;
import Entity.RoomHelp;
import Service.RoomService;

public class FindRoomServlet extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public FindRoomServlet() {
		super();
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		 request.setCharacterEncoding("utf-8");
	        response.setCharacterEncoding("utf-8");
	        HttpSession session = request.getSession(false);
	        PrintWriter out =response.getWriter();
	        if (session == null) {
	            request.getRequestDispatcher("/WEB-INF/page/Login.jsp").forward(request, response);
	        }
	        
	        RoomService rs = new RoomService();
	        String uid = (String) session.getAttribute("uid");
	        String uname =  (String)session.getAttribute("uname");
	        String eid = request.getParameter("eid");
	        //参数
	        String selweek = request.getParameter("selweek");
	        int week=0;
	        try {
	             week = Integer.parseInt(selweek.substring(selweek.length()-2));
	        }catch(Exception ex){

	        }
	        int day = Integer.parseInt(request.getParameter("selday"));
	        int section = Integer.parseInt(request.getParameter("selsection"));
	        List<RoomHelp> rlist = rs.findRoomByTime(week, day, section);
	        if(rlist == null){
	        	request.getRequestDispatcher("AllExpServlet").forward(request,response);
	        }else{
	        	request.setAttribute("eid", eid);
	        	request.setAttribute("rlist", rlist);
	        	request.getRequestDispatcher("/WEB-INF/page/SelectRoom.jsp").forward(request,response);
	        }
	        return;
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		out.print("    This is ");
		out.print(this.getClass());
		out.println(", using the POST method");
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}

	/**
	 * Initialization of the servlet. <br>
	 *
	 * @throws ServletException if an error occurs
	 */
	public void init() throws ServletException {
		// Put your code here
	}

}
